export default abstract class BaseSimpleFSMState {
    private _stateId = -1;
    private _userData: unknown;

    public setState(stateId: number): void {
        this._stateId = stateId;
    }

    public getStateId(): number {
        return this._stateId;
    }

    public setUserData(data: unknown): void {
        this._userData = data;
    }

    public getUserData(): unknown {
        return this._userData;
    }
    public abstract begin(preState: number): void;
    public tick(dt: number): void { }
    public abstract end(nextState: number): void;
}